package org.springframework.boot.autoconfigure.dubbo.annotation;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 注入属性的注解
 * 
 * @author wolfking@赵伟伟
 * @mail zww199009@163.com
 * @创作日期 2017年4月18日 下午8:53:25
 * @copyright wolfking
 */
@Documented
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface AutowiredDubbo {

	String version() default ""; // 版本

	int timeout() default 30000; // 远程调用超时时间(毫秒)，默认30秒超时

	String address() default "";// 注册中心

	String group() default ""; // 服务分组

	String client() default ""; // 客户端类型

	String url() default ""; // 点对点直连服务提供地址

	String protocol() default ""; // 协议

	boolean check() default true; // 检查服务提供者是否存在

	boolean lazy() default false; // lazy create connection

	int retries() default 3; // 重试次数,默认重试3次

	int actives() default 100; // 最大并发调用，默认100并发

	String loadbalance() default ""; // 负载均衡

	boolean async() default false; // 是否异步

	boolean sent() default false; // 异步发送是否等待发送成功
	
	String mock() default ""; //是否启用mock熔断器处理远程服务请求失败的情况  ，
}
